Towards Verifiable Device Drivers: an Approach Based on Domain-specific Languages Fabrice Mérillon Laurent Réveillère Charles Consel Robin Hansen Renaud Marlet
نویسندگان
چکیده
Although peripheral devices come out at a frantic pace and require fast releases of drivers, little progress has been made to improve the development of drivers. Too often, this development consists of decoding hardware intricacies, based on ambiguous or incomplete documentation , to determine how to operate a device. Then, assembly-level operations need to be used to interact with the device. These low-level operations make the device driver fairly unreadable and prevent safety properties from being checked. This paper presents a language, named Devil, dedicated to deening the functional interface of a device. More precisely, Devil aims at specifying the access mechanisms, the type and layout of data, and behavioral properties involved in operating a device. The beneet of our approach is that, once compiled, a Devil description implements an interface which models an idealized device and abstracts the hardware intricacies. Unlike a general-purpose language, Devil allows a description to be thoroughly veriied; this veriication greatly improves the safety of the communications with the device. The design of Devil is based on key concepts we identiied in analyzing the domain of device drivers. Our language has been used to specify a large number of PC devices including Ethernet, video, sound, interrupt, DMA and mouse controllers.
منابع مشابه
A DSL Approach to Improve Productivity and Safety in Device Drivers Development
Although peripheral devices come out at a frantic pace and require fast releases of drivers, little progress has been made to improve the development of drivers. Too often, this development consists of decoding hardware intricacies, based on inaccurate documentation. Then, assembly-level operations need to be used to interact with the device. These low-level operations reduce the readability of...
متن کاملTowards Verifiable Device Drivers: An Approach based on Domain-Specific Languages
Although peripheral devices come out at a frantic pace and require fast releases of drivers, little progress has been made to improve the development of drivers. Too often, this development consists of decoding hardware intricacies, based on ambiguous or incomplete documentation , to determine how to operate a device. Then, assembly-level operations need to be used to interact with the device. ...
متن کاملDomain-Specific Languages: From Design to Implementation Application to Video Device Drivers Generation
Domain-specific languages (DSL) have many potential advantages in terms of software engineering ranging from increased productivity to the application of formal methods. Although they have been used in practice for decades, there has been little study of methodology or implementation tools for the DSL approach. In this paper we present our DSL approach and its application to a realistic domain:...
متن کاملA Domain Specific Language for Video Device Drivers: From Design to Implementation
Domain-speci c languages (DSL) have many potential advantages in terms of software engineering ranging from increased productivity to the application of formal methods. Although they have been used in practice for decades, there has been little study of methodology or implementation tools for the DSL approach. In this paper we present our DSL approach and its application to a realistic applicat...
متن کاملDevil: an Idl for Hardware Programming Fabrice Mérillon, Laurent Réveillère, Charles Consel, Renaud Marlet, Gilles Muller
To keep up with the frantic pace at which devices come out, drivers need to be quickly developed, debugged and tested. Although a driver is a critical system component, the driver development process has made little (if any) progress. The situation is particularly disastrous when considering the hardware operating code (i.e., the layer interacting with the device). Writing this code often relie...
متن کامل